﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace ControlDeAsistencia
{
    class Ingreso
    {
        private int dni;

        public int Dni
        {
            get { return dni; }
            set { dni = value; }
        }

        private int identificador;

        public int Identificador
        {
            get { return identificador; }
            set { identificador = value; }
        }

        private DateTime fechaingreso;

        public DateTime Fechaingreso
        {
            get { return fechaingreso; }
            set { fechaingreso = value; }
        }

        private DateTime fechaegreso;

        public DateTime Fechaegreso
        {
            get { return fechaegreso; }
            set { fechaegreso = value; }
        }

        private string imageningreso;

        public string Imageningreso
        {
            get { return imageningreso; }
            set { imageningreso = value; }
        }

        private string imagenegreso;

        public string Imagenegreso
        {
            get { return imagenegreso; }
            set { imagenegreso = value; }
        }

        ///////////////////////////////////////////////

        public Ingreso() 
        {
        }

        public Ingreso(int dni, DateTime fecha, string ruta) 
        {
            this.dni = dni;
            this.fechaingreso = fecha;
            this.fechaegreso = fecha;
            this.Imageningreso = ruta + "\\" + this.dni.ToString() + "-" + fecha.ToString("yyyyMMdd") + "I.jpeg";
            this.imagenegreso = ruta + "\\" + this.dni.ToString() + "-" + fecha.ToString("yyyyMMdd") + "E.jpeg";
        }

        //public bool existe(int dni, DateTime entrada)
        //{
        //    AccesoDatos bd = new AccesoDatos();
        //    DataTable dt = bd.obtenerDatos("SELECT * FROM Ingreso WHERE dni = " + dni + "AND fechaingreso = " + entrada);
        //    return !(dt.Rows.Count == 0);
        //}

        public bool existeIngreso(int dni, DateTime entrada)
        {
            AccesoDatos bd = new AccesoDatos();
            DataTable dt = bd.obtenerDatos("SELECT * FROM Ingreso WHERE dni = " + dni + " AND DAY(fechaingreso) = DAY('" + entrada + "')" + " AND MONTH(fechaingreso) = MONTH('" + entrada + "')" + " AND YEAR(fechaingreso) = YEAR('" + entrada + "')");
            return !(dt.Rows.Count == 0);
        }

        public void cargarIngreso()
        {
            AccesoDatos bd = new AccesoDatos();
            bd.ejecutarConsulta("EXECUTE cargarIngreso " + this.dni + ", '" + this.fechaingreso + "', '" + this.imageningreso + "'");
        }

        public void cargarEgreso()
        {
            AccesoDatos bd = new AccesoDatos();
            bd.ejecutarConsulta("EXECUTE cargarEgreso " + this.dni + ", '" + this.imagenegreso + "', '" + this.fechaingreso + "', '" + this.fechaegreso + "'");    
        }
    }
}
